'****************************************************************************'
'                                                                            '
' Copyright (C) 2010 Muhammad alaa                                           '
'                                                                            '
' This program is free software; you can redistribute it and/or modify       '
' it under the terms of the GNU General Public License as published by       '
' the Free Software Foundation; either version 2 of the License, or          '
' (at your option) any later version.                                        '
'                                                                            '
' This program is distributed in the hope that it will be useful,            '
' but WITHOUT ANY WARRANTY; without even the implied warranty of             '
' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the              '
' GNU General Public License for more details.                               '
'                                                                            '
' You should have received a copy of the GNU General Public License along    '
' with this program; if not, write to the Free Software Foundation, Inc.,    '
' 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.                '
'                                                                            '
'****************************************************************************'

Namespace COM

    <ComImport()> _
    <InterfaceType(ComInterfaceType.InterfaceIsIDispatch)> _
    <Guid(IID.COM.IEventPublisher)> _
    Public Interface IEventPublisher
        <PreserveSig(), DispId(1)> Function get_PublisherID(<Out(), MarshalAs(UnmanagedType.BStr)> ByRef bstrPublisherID As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig(), DispId(1)> Function put_PublisherID(<MarshalAs(UnmanagedType.BStr)> ByVal bstrPublisherID As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig(), DispId(2)> Function get_PublisherName(<Out(), MarshalAs(UnmanagedType.BStr)> ByRef bstrPublisherName As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig(), DispId(2)> Function put_PublisherName(<MarshalAs(UnmanagedType.BStr)> ByVal bstrPublisherName As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig(), DispId(3)> Function get_PublisherType(<Out(), MarshalAs(UnmanagedType.BStr)> ByRef bstrPublisherType As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig(), DispId(3)> Function put_PublisherType(<MarshalAs(UnmanagedType.BStr)> ByVal bstrPublisherType As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig(), DispId(4)> Function get_OwnerSID(<Out(), MarshalAs(UnmanagedType.BStr)> ByRef pbstrOwnerSID As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig(), DispId(4)> Function put_OwnerSID(<MarshalAs(UnmanagedType.BStr)> ByVal pbstrOwnerSID As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig(), DispId(5)> Function get_Description(<Out(), MarshalAs(UnmanagedType.BStr)> ByRef bstrDescription As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig(), DispId(5)> Function put_Description(<MarshalAs(UnmanagedType.BStr)> ByVal bstrDescription As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig(), DispId(6)> Function GetDefaultProperty(<MarshalAs(UnmanagedType.BStr)> ByVal bstrPropertyName As String, <Out()> ByRef propertyValue As Object) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig(), DispId(7)> Function PutDefaultProperty(<MarshalAs(UnmanagedType.BStr)> ByVal bstrPropertyName As String, ByRef propertyValue As Object) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig(), DispId(8)> Function RemoveDefaultProperty(<MarshalAs(UnmanagedType.BStr)> ByVal bstrPropertyName As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig(), DispId(9)> Function GetDefaultPropertyCollection(<Out()> ByRef collection As ComPlus.IEventObjectCollection) As <MarshalAs(UnmanagedType.Error)> Integer
    End Interface

End Namespace
